/*
 *  AgentRelationship.h
 *  MilovoMg00
 *
 *  Created by luca on 02/08/06.
 *  Copyright 2006 __MyCompanyName__. All rights reserved.
 *
 */

#ifndef AGENTRELATIONSHIP_H
#define AGENTRELATIONSHIP_H

#include "Milovo_HCommons.h"

class AgentRelationship {
	Mil_Int IDAgentPartner;
	Mil_Double Transactions;
	Mil_Double DeltaTransactions;
	Mil_Double Projects;
	Mil_Double DeltaProjects;
	Mil_Double Vote;
	Mil_Double AlignedDirectedness;
	Mil_Double Heterogeneity;
	Mil_Int GenerativePotential;
	Mil_Int KnowledgeDecay;
	
	public:
	AgentRelationship();
	AgentRelationship(Mil_Int);
	AgentRelationship(Mil_Int tmpIDAgentPartner, Mil_Double tmpTransactions, Mil_Double tmpDeltaTransactions,
							Mil_Double tmpProjects, Mil_Double tmpDeltaProjects, Mil_Double tmpVote, 
							Mil_Int tmpAlignedDirectedness, Mil_Double tmpHeterogeneity, Mil_Int tmpGenerativePotential, 
							Mil_Int tmpKnowledgeDecay);
	~AgentRelationship();
	Mil_Int GetIDAgentPartner() {return IDAgentPartner;}
	Mil_Double GetTransactions() {return Transactions;}
	Mil_Double GetDeltaTransactions() {return DeltaTransactions;}
	Mil_Double GetProjects() {return Projects;}
	Mil_Double GetDeltaProjects() {return DeltaProjects;}
	Mil_Double GetVote() {return Vote;}
	Mil_Double GetAlignedDirectedness() {return AlignedDirectedness;}
	Mil_Double GetHeterogeneity() {return Heterogeneity;}
	Mil_Int GetGenerativePotential() {return GenerativePotential;}
	Mil_Int GetKnowledgeDecay() {return KnowledgeDecay;}
	
	void SetTransactions(Mil_Double tmpNewValue) {Transactions = tmpNewValue;}
	void SetDeltaTransactions(Mil_Double tmpNewValue) {DeltaTransactions = tmpNewValue;}
	void SetProjects(Mil_Double tmpNewValue) {Projects = tmpNewValue;}
	void SetDeltaProjects(Mil_Double tmpNewValue) {DeltaProjects = tmpNewValue;}
	void SetVote(Mil_Double tmpNewValue) {Vote = tmpNewValue;} 
	void SetAlignedDirectedness(Mil_Double tmpNewValue) {AlignedDirectedness = tmpNewValue;}
	void SetHeterogeneity(Mil_Double tmpNewValue) {Heterogeneity = tmpNewValue;}
	void SetGenerativePotential(Mil_Int tmpNewValue) {GenerativePotential = tmpNewValue;}
	void SetKnowledgeDecay(Mil_Int tmpNewValue) {KnowledgeDecay = tmpNewValue;}
};

typedef map<Mil_Int, AgentRelationship> Relationships;

#endif

